1. Field of the Invention
The present invention relates to an automatic wiring design apparatus, and to an automatic wiring design method for a substrate on which multiple electronic parts, such as an LSI, are mounted.
2. Related Arts
A super-compact electronic device, such as a portable telephone, incorporates an electric substrate on which multiple electronic parts, such as an LSI, are mounted. These electronic parts are mounted close together, at a high density, in order to utilize the limited available substrate area as effectively as possible. When designing the wiring pattern for such a substrate, the electronic parts are mounted as close together as possible, but so that the spaces between the electronic parts and the spaces between lines for wiring are not smaller than a predetermined reference value.
FIGS. 9A and 9B are diagrams for explaining the wiring design processing for a conventional automatic wiring design apparatus. FIG. 9A is a diagram showing an example where a line segment A, as designated by a designer, is located as shown at a position close to a line segment B. If the space between the line segments A and B is smaller than a predetermined reference distance 11, the line segment B is designated a barrier element. Then, the line segment B, which has been, is automatically shifted to the position occupied by a line segment Bxe2x80x2 (indicated by a broken line) so that the reference distance 11 is satisfied. The process by which the line segment designated by the designer is regarded as the valid location, and the other line segment, which has been, is shifted to satisfy the predetermined reference distance 11 is called a xe2x80x9cpushing process.xe2x80x9d Therefore, in the wiring design process, even if a space for a line segment is designated that is smaller than the reference distance 11, the reference distance 11 is automatically satisfied by regarding the line segment as a movable element and by performing the pushing process.
FIG. 9B is a diagram showing an example where a position designated by a designer for line segment A is located as shown near a pin position C of an LSI. If the space between the line segment A and the pin C is smaller than a reference distance 12, the pin C is specified as a barrier element. However, in this case, the above pushing process is not performed because the pin C is regarded as an immovable element. If the pin C, as well as the line segment, is regarded as a movable element and the pushing process is performed to shift the position of the pin C, the LSI is shifted as a whole, and accordingly, the wiring pattern of a substrate may be destroyed. Therefore, when the barrier element is an immovable element, the designation of the line segment is regarded as invalid, and the designer must repeat the designation of the line segment.
As is described above, since the pushing process is performed only when the barrier element is a movable element and is not performed when it is an immovable element, deterioration of the design efficiency occurs.
It is, therefore, one objective of the present invention to provide an automatic wiring design apparatus, and an automatic wiring design method which together can automatically design a wiring pattern that satisfies a predetermined reference distance, regardless of whether a barrier element, which is specified by the designation of a line segment, is a movable element or an immovable element.
To achieve the above objective, the present invention provides an automatic wiring design apparatus comprising:
a designating unit for designating a line segment which is movable element;
a specifying unit for specifying a first element whereat a first space between the first element and the line segment is smaller than a first distance; and
a determining unit for determining a first position of the line segment to be shifted so that the first space satisfies the first distance.
As a result, if a barrier element specified by designating a line segment is an immovable element, the self-avoidance process by which the designated line segment can be moved is performed, so that the occurrence of a design-standard error can be avoided.
For example, the determining unit establishes the line segment as a been element, establishes the first element as a new element, and performs a pushing process for determining a position of the been element to be shifted relative to the new element to determine the first position of the line segment. By performing a swapping process for switching a designated line segment and the barrier element which has been, the self-avoidance process can be easily performed by employing the conventional pushing process.
Further in case that a second space between a second element including the line segment and a third element is smaller than a second distance by shifting the line segment to the first position, the determining unit determines a second position of the third element to be shifted so that the second space satisfies the second distance.
The automatic wiring design apparatus of the present invention further comprises a complexity determining unit for comparing a level of change in the complexity of a wiring pattern before and after shifting of the line segment and the third element with a predetermined reference level. And in case that the level of change is equal to or less than the predetermined reference level, the complexity determining unit validates the designation of the line segment, and in case that the level of change is greater than the predetermined reference level, the complexity determining unit invalidates the designation of the line segment.
Preferably, the complexity of the wiring pattern is determined by the total number of bends in the line segments which constitute the wiring pattern, and/or by the lengths of the line segments. Since the complexity of the wiring pattern can be determined, the wiring pattern can be prevented from becoming too complicated when a design-standard error is resolved.
Furthermore, to achieve the above objective, the present invention provides an automatic wiring design method comprising the steps of:
designating a line segment which is movable element;
specifying a first element whereat a first space between the first element and the line segment is smaller than a first distance; and
determining a first position of the line segment to be shifted so that the first space satisfies the first distance.
For example, in the determination step, the line segment is established as a been element, the first element is established as a new element, and a pushing process for determining a position of the been element to be shifted relative to the new element is performed to determine the first position of the line segment.